package com.example.myapplication

/**
 * 类描述:
 * 创建人:   tangchao$
 * 创建时间: 2021/7/13$ 8:50 AM$
 * 联系方式: 419704299@qq.com
 * 修改人:   tangchao$
 * 修改时间: 2021/7/13$ 8:50 AM$
 * 修改备注:  [说明本次修改内容]
 */
fun main() {
    var list = mutableListOf<String>()



    var list2: MutableList<in Student> = mutableListOf<Person>()
    var list3: MutableList<out Person> = mutableListOf<Student>()
    list2.add(Student("tc"))
    list2.get(0).also {
        var stu = it as Student
        println(stu.name)
        stu.name = "xin"
    }
//    println(list2)

    list.add("1")
    list.add("a")
    list.add("2")
    list.add("b")
    list.add("3")
    list.add("c")
    list.add("d")
    list.add("55")

//    list.apply {
//        filter {
//            it.equals("a")||it.equals("b")
//        }.forEach{
//         remove(it)
//        }
//    }

//    list.also {
//        list
//        it.filter {
//            it.equals("a") || it.equals("b")
//        }.forEach {
//            list.remove(it)
//        }
//
//    }.forEach {
////        println(it)
//    }
    var cc = list.let {
        list
        it.filter {
            it.equals("a") || it.equals("b")
        }.forEach {
            list.remove(it)
        }
        "789"
    }
    println(cc)

    cc.forEach {
        println(it)

    }


    var testrun = null
    var aa = testrun?.run {
        substring(2)
    }
    println(aa)

    var bb = testrun?.let {
        it.substring(2)
    }
    println(bb)

    var str="2345678"
    str.takeIf {
        it.length>2
    }.also {
        println(it)
    }

}